const mysql = require('mysql');   //引入了新的npm第三方包，在此之前先执行npm install mysql or yarn add mysql

const configObj = require('./config')

const { addTABLE } = require('./downIMG/index')

const db = () => {
  const db = mysql.createConnection({
    ...configObj
  })
  const addDB = config => { // 创建数据库
    const obj = {
      host: config.host,
      user: config.user,
      password: config.password,
    }
    const db = mysql.createConnection({
      ...obj
    })
    const sql = `CREATE DATABASE ${ config.database }`
    db.query(sql,(err, result) => {
        if(err) console.log('创建数据库失败', err);
        if(result) console.log('创建数据库成功');
        db.end()
    })
  }
  
  db.connect((err, res) => {
    if (err) {
      console.log('数据库连接失败:' + err.message);
      if(err.message.includes('Unknown database')) { // 数据库不存在，创建数据库
        addDB(configObj)
      } 
      return;
    };
    if(res) {
      console.log('连接数据库成功');
      setTimeout(() => db.end(), 2000)
    }
    // db.query(addTABLE,(err, res) => {
    //   console.log(res,'res',addTABLE, err);
    // })
  })

  return db
}
// global.db = db; //使用node全局变量，在appjs中引入后app作用域都可访问，用于操作数据库
module.exports = db